package Calculadora;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Prueba extends JFrame {
	private JTextField texto;

	MyActionListener listener = new MyActionListener(this);

	class MyActionListener implements ActionListener {
		Prueba v;
		int x;
		
		boolean suma = true;

		private int num1;
		private int num2;
		private int solucion;
		private boolean numero = false;
		private int oper=0;
		private boton b;
		private botonOperacion bo;

		private String aux2 = "";
		private String aux1 = "";

		public MyActionListener(Prueba x) {
			v = x;
		}

		@Override
		public void actionPerformed(ActionEvent e) {

			if (e.getSource().getClass() == boton.class) {
				// numero = true;
				b = (boton) e.getSource();
				System.out.println("Es numero");
				texto.setText(texto.getText()+b.getText());
			} else {
				//es una operacion
				bo=(botonOperacion)e.getSource();
				if (oper==0) {
					oper=bo.getValor();
					//comprobar si hay nuemro, poner try cacht
					num1=Integer.parseInt(texto.getText());
					texto.setText("");
				}else{
					//comprobar si hay nuemro, poner try cacht
					num2=Integer.parseInt(texto.getText());
					resultado();
					texto.setText(Integer.toString(solucion));
					num1 =solucion;
					num2=0;
					solucion=0;
					if(bo.getValor()!=-1)
						oper=bo.getValor();
					else
						oper=0;
				}

		

			}

			
		}

		private void resultado() {
			if(oper==1){
				solucion=num1+num2;
			}
			if(oper==2){
				solucion=num1-num2;
			}
			
		}
	}

	public Prueba() {
		setTitle("Calculadora");
		texto = new JTextField();
		setSize(250, 300);
		setVisible(true);
		add(texto, BorderLayout.NORTH);
		Panel aux = new Panel();
		aux.setLayout(new GridLayout(3, 4));

		for (int i = 1; i < 10; i++) {
			boton b = new boton(i);

			b.setName("" + i);
			b.setLabel("" + i);
			aux.add(b);

			if (i == 3) {
				botonOperacion suma = new botonOperacion(1);
				suma.setLabel("+");
				suma.setName("+");
				aux.add(suma);
				suma.addActionListener(listener);
			} else if (i == 6) {
				botonOperacion resta = new botonOperacion(2);
				resta.setLabel("-");
				resta.setName("-");
				aux.add(resta);
				resta.addActionListener(listener);
			} else if (i == 9) {
				botonOperacion igual = new botonOperacion(-1);
				igual.setLabel("=");
				igual.setName("=");
				aux.add(igual);
				igual.addActionListener(listener);
			}

			b.addActionListener(listener);

		}
		this.add(aux);

	}

	public void escribir(String s) {
		texto.setText(s);
	}
}
